package com.zw.cloud.mybatis.plus.entity.stenter;

import com.baomidou.mybatisplus.annotation.*;

import java.time.LocalDateTime;
import java.io.Serializable;

import com.zw.cloud.mybatis.plus.db.typehandlers.JsonTypeHandler;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * <p>
 * 公共字典表
 * </p>
 *
 * @author zw
 * @since 2023-11-30
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName(value = "base_dictionary", autoResultMap = true)
public class BaseDictionary implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 机构编码
     */
    @TableField(fill = FieldFill.INSERT)
    private String orgCode;

    /**
     * 分组编码
     */
    private String groupCode;

    /**
     * 字典名称
     */
    private String name;

    /**
     * 字典别名
     */
    private String aliasName;

    /**
     * 字典编码
     */
    private String code;

    /**
     * 排序值
     */
    private Integer sort;

    /**
     * 是否预设:0自定义1系统预设
     */
    private Integer preset;

    /**
     * 字典状态:0禁用,1启用
     */
    private Integer status;

    /**
     * 父类code
     */
    private String parentCode;

    /**
     * 创建时间
     */
    @TableField(fill = FieldFill.INSERT)
    private LocalDateTime createTime;

    /**
     * 创建用户
     */
    @TableField(fill = FieldFill.INSERT)
    private String createUser;

    /**
     * 创建系统
     */
    @TableField(fill = FieldFill.INSERT)
    private String createSystem;

    /**
     * 修改时间
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updateTime;

    /**
     * 修改用户
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private String updateUser;

    /**
     * 修改系统
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private String updateSystem;

    /**
     * 是否删除：0未删除，1已删除
     */
    private Integer isDeleted;

    /**
     * 助剂编码
     */
    private String assistantsCode;

    /**
     * 助剂是否支持输送;1-是,0-否
     */
    private Integer isSupportDelivery;

    /**
     * 扩展字段
     */
    @TableField(typeHandler = JsonTypeHandler.class)
    private Object externalFiled;

    /**
     * 使用次数
     */
    private Long usageCount;


}
